class EEPROMData {
  readonly model_number: number;
  readonly version: number;
  readonly id: number;
  readonly baudrate: number;
  readonly return_delay_time: number;
  readonly cw_angle_limit: number;
  readonly ccw_angle_limit: number;
  readonly max_temperature: number;
  readonly min_voltage: number;
  readonly max_voltage: number;
  readonly max_torque: number;
  readonly status_return_level: number;
  readonly alarm_led: number;
  readonly alarm_shutdown: number;

  constructor({
    model_number = 0,
    version = 0,
    id = 0,
    baudrate = 0,
    return_delay_time = 0,
    cw_angle_limit = 0,
    ccw_angle_limit = 0,
    max_temperature = 0,
    min_voltage = 0,
    max_voltage = 0,
    max_torque = 0,
    status_return_level = 0,
    alarm_led = 0,
    alarm_shutdown = 0,
  }: Partial<EEPROMData> = {}) {
    this.model_number = model_number;
    this.version = version;
    this.id = id;
    this.baudrate = baudrate;
    this.return_delay_time = return_delay_time;
    this.cw_angle_limit = cw_angle_limit;
    this.ccw_angle_limit = ccw_angle_limit;
    this.max_temperature = max_temperature;
    this.min_voltage = min_voltage;
    this.max_voltage = max_voltage;
    this.max_torque = max_torque;
    this.status_return_level = status_return_level;
    this.alarm_led = alarm_led;
    this.alarm_shutdown = alarm_shutdown;
  }
}

export default EEPROMData;
